initial development#2
Conversation
One value per assertion instead of sorted JSON diff. Plus: add JSON size assertions.
Signed-off-by: dloetzke <97966457+dloetzke@users.noreply.github.com>
Signed-off-by: dloetzke <97966457+dloetzke@users.noreply.github.com>
Co-authored-by: dloetzke <97966457+dloetzke@users.noreply.github.com> Signed-off-by: Christoph Strebin <christoph.strebin@freenet.ag>
Assumed problem with this was just my wrong `docker run --mount=…` invocation during local testing.
|
@dloetzke: Anlässlich der Überlegung, in mehrere Actions aufzuteilen (eine je "grobem" |
|
@ChristophS-md Vielleicht verstehe ich dich falsch - aber würde sich die Aufteilung nicht gerade lohnen, wenn dadurch die Komplexität auf mehrere Actions aufgeteilt wird, statt dass die gesamte Komplexität in einer großen gesammelt ist? Die große wäre dann sozusagen ein simpler Wrapper und die einzelnen ResultTypes sind schick modular auf mehrere Unter-Actions aufgeteilt. |
Mir geht es nicht um die Komplexität, alle ResultTypes in einer Action zu implementieren - das finde ich übersichtlich gelöst und nicht zu komplex. (Und es macht Wiederverwendung innerhalb des Java-Code einfach, was bei mehreren Repos nicht so bequem ginge.) Ich meine die API: Wie viele Fälle muss ich in einer einzigen action.yml beschreiben? Aufteilung hieße für mich dann, dass es gar keine Wrapper-Action geben sollte, die alle ResultTypes kann, sondern nur die einzelnen Actions read-java-properties (~ output), read-java-properties-named (~ output-named), java-properties-to-env (~ env), java-properties-to-env-named (~ env-named), java-properties-to-json (~ json), java-properties-to-json-file (~ json-file) o.ä., die alle keinen Den Gewinn an Übersichtlichkeit halte ich aber für nicht so groß, dass ich dafür mehrere Repos oder mehrere Versionierungen in einem Repo in Kauf nehmen will. |
|
Achso! Ich hatte es so verstanden, dass die Komplexität in den ResultTypes liegt.
Mit "innerhalb" ist hier dann die Logik dahinter gemeint, welche hier übersichtlicher ist, als wenn sie aufgeteilt würde? Man müsste auch bei einer Aufteilung der ResultTypes auf mehrere Actions nicht die Logik in jeder einzeln implementieren, man hätte daraus auch z. B. ein Monorepo mit einer Helfer-Klasse für die Logik erstellen können, die in den jeweiligen, von den Actions genutzten Klassen importiert/genutzt werden. Aber soweit ich dich verstehe, ergibt es hier tatsächlich wenig Sinn, irgendwas aufzuteilen. Insofern war das eher eine zusätzliche Anmerkung als ein konkreter Vorschlag. :) |
dloetzke
left a comment
There was a problem hiding this comment.
Ein paar kleine Anmerkungen habe ich noch, danach dürfte alles passen. :)
Übersichtlicher zusammen meinte ich auch nicht, eher beide Varianten gleich komplex. Konkret z.B. die ganze "output-named:"-Doku
sähe in Einzel-Action read-java-properties-named noch fast genauso aus. Sie hinge nur nicht am Input
Es bliebe ja, dass man für die Versionierung der Einzel-Actions dann mehrere Tag-Namensschemata bräuchte in der Art output-1.0.0, json-1.0.3. Nicht schlimm, aber alles in allem gewinnt m.E. dann die jetzige Gesamt-Action. |
Co-authored-by: dloetzke <97966457+dloetzke@users.noreply.github.com> Signed-off-by: Christoph Strebin <christoph.strebin@freenet.ag>
Jop, da bin ich bei dir - ich hätte nun bis auf den Typo auch nichts mehr zu bieten - außer ein Approval. :) |
Co-authored-by: dloetzke <97966457+dloetzke@users.noreply.github.com> Signed-off-by: Christoph Strebin <christoph.strebin@freenet.ag>
Bitte guckt auch mal, ob an den Repo-Einstellungen wohl alles OK ist und man es nach dem Review öffentlich machen kann. Danke!